<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="zh-CN">
<head>
    <title>出错了 - PhySim Lab ---- 物理模拟实验室 | 直观、交互式的物理实验学习平台</title>
    <!-- Favicon -->
    <link rel="icon" type="image/svg+xml" href="/favicon.svg">
    <link rel="icon" type="image/png" href="/favicon.png">
    <link rel="apple-touch-icon" href="/apple-touch-icon.png">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        :root {
            /* MD3 颜色系统 - Light主题 */
            --md-sys-color-primary: #6750A4;
            --md-sys-color-on-primary: #FFFFFF;
            --md-sys-color-primary-container: #EADDFF;
            --md-sys-color-on-primary-container: #21005E;
            --md-sys-color-secondary: #625B71;
            --md-sys-color-on-secondary: #FFFFFF;
            --md-sys-color-secondary-container: #E8DEF8;
            --md-sys-color-on-secondary-container: #1E192B;
            --md-sys-color-tertiary: #7D5260;
            --md-sys-color-on-tertiary: #FFFFFF;
            --md-sys-color-tertiary-container: #FFD8E4;
            --md-sys-color-on-tertiary-container: #370B1E;
            --md-sys-color-error: #B3261E;
            --md-sys-color-on-error: #FFFFFF;
            --md-sys-color-error-container: #F9DEDC;
            --md-sys-color-on-error-container: #370B1E;
            --md-sys-color-background: #FFFBFE;
            --md-sys-color-on-background: #1C1B1F;
            --md-sys-color-surface: #FFFBFE;
            --md-sys-color-on-surface: #1C1B1F;
            --md-sys-color-surface-variant: #E7E0EC;
            --md-sys-color-on-surface-variant: #49454F;
            --md-sys-color-outline: #79747E;
            
            /* 圆角 */
            --md-sys-shape-corner-small: 8px;
            --md-sys-shape-corner-medium: 12px;
            --md-sys-shape-corner-large: 16px;
            --md-sys-shape-corner-extra-large: 28px;
            
            /* 阴影 */
            --md-sys-elevation-1: 0 1px 2px rgba(0,0,0,0.3), 0 1px 3px 1px rgba(0,0,0,0.15);
            --md-sys-elevation-2: 0 1px 2px rgba(0,0,0,0.3), 0 2px 6px 2px rgba(0,0,0,0.15);
            --md-sys-elevation-3: 0 4px 8px 3px rgba(0,0,0,0.15), 0 1px 3px rgba(0,0,0,0.3);
        }
        
        body {
            font-family: 'Roboto', sans-serif;
            background-color: var(--md-sys-color-background);
            color: var(--md-sys-color-on-background);
            margin: 0;
            padding: 0;
            min-height: 100vh;
            display: flex;
            align-items: center;
        }
        
        .container {
            max-width: 800px;
            padding-top: 2rem;
            padding-bottom: 2rem;
        }
        
        .error-card {
            background-color: var(--md-sys-color-error-container);
            border-radius: var(--md-sys-shape-corner-large);
            box-shadow: var(--md-sys-elevation-2);
            padding: 2rem;
            text-align: center;
            margin-bottom: 2rem;
        }
        
        .error-icon {
            width: 72px;
            height: 72px;
            margin: 0 auto 1.5rem;
            color: var(--md-sys-color-error);
        }
        
        h1 {
            color: var(--md-sys-color-on-error-container);
            font-weight: 500;
            font-size: 2rem;
            margin-bottom: 1rem;
        }
        
        .error-code {
            display: inline-block;
            background-color: var(--md-sys-color-error);
            color: var(--md-sys-color-on-error);
            font-weight: 500;
            padding: 0.25rem 0.75rem;
            border-radius: var(--md-sys-shape-corner-small);
            margin-bottom: 1.5rem;
        }
        
        p {
            color: var(--md-sys-color-on-error-container);
            font-size: 1rem;
            margin-bottom: 1.5rem;
        }
        
        .md3-btn {
            display: inline-block;
            height: 40px;
            padding: 0 24px;
            border-radius: 20px;
            font-size: 0.875rem;
            font-weight: 500;
            letter-spacing: 0.1px;
            text-transform: uppercase;
            line-height: 40px;
            cursor: pointer;
            text-decoration: none;
            text-align: center;
            transition: background-color 0.2s;
            border: none;
            margin-right: 8px;
        }
        
        .md3-btn-primary {
            background-color: var(--md-sys-color-primary);
            color: var(--md-sys-color-on-primary);
        }
        
        .md3-btn-primary:hover {
            background-color: var(--md-sys-color-primary);
            opacity: 0.9;
            color: var(--md-sys-color-on-primary);
        }
    </style>
</head>
<body>
    <div class="container">
        <h1 class="text-center mb-2">PhySim Lab ---- 物理模拟实验室</h1>
        <div class="error-card">
            <svg class="error-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
                <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z"/>
            </svg>
            
            <h1>页面未找到</h1>
            <div class="error-code">错误 404</div>
            
            <p>抱歉，我们无法找到您请求的页面。可能是链接已过期或输入的URL不正确。</p>
            
            <a href="/" class="md3-btn md3-btn-primary">返回首页</a>
        </div>
    </div>
</body>
</html> 